'''
@Project :my_python_project
@PRODUCT :PyCharm
@File    :random.PY
@IDE     :PyCharm
@Author  :xionglinhui
@Date    :2024/9/7 19:11
'''
import random

print(random.random())        #随机生成大于0且小于1之间的小数  <class 'float'>

print(random.randint(1,3))   # random.randint(a, b)函数用于生成一个在 a 和 b 之间的随机整数，包括 a 和 b。

print(random.randrange(1,3)) # 随机生成 大于等于1且小于3之间的整数

print(random.choice([11, 'aaa', [666, 888]])) # 随机输出 11或'aaa'或'[666,88]'

print(random.sample([11, 22, 'aaa','bbb', [666,888]],2))  #列表元素任意2个组合
print(random.sample([11, 22, 'aaa','bbb', [666,888]],3))  #列表元素任意3个组合
print(random.sample([11, 22, 'aaa','bbb', [666,888]],4))  #列表元素任意4个组合

print(random.uniform(1,6)) # 随机生成：大于1小于3的小数，如3.4509038976731077

# 打乱item的顺序,相当于"洗牌"
item = [1,2,3,4,5,6]
res = random.shuffle(item)
print(res)  # 打印：None
print(item) # 打印乱序的item列表，如 [2, 3, 4, 1, 5, 6]


# ASCLL码：65~90代表26个大写英文字幕,97~122代表26个小写字幕
# chr() 是一个内置函数，它用于将一个整数转换为对应的 Unicode

import random

def make_code(n):
    res = ''
    for i in range(n):
        s1 = chr(random.randint(65, 90))
        s2 = str(random.randint(0, 9))
        s3 = chr(random.randint(97,122))
        res += random.choice([s1, s2, s3])
    return res

print(make_code(6)) # 随机生成6位数的验证码，在26个大写字母、26个小写字母、0-9中随机组合
